#ifndef EVENT_INTERFACE_INCLUDE
#define EVENT_INTERFACE_INCLUDE

#include "CommonInterface.h"

typedef unsigned int tDocoEventID;

class tDocoEvent
{
public:
	tDocoEventID m_EventID;
	tDocoEvent(tDocoEventID id): m_EventID(id)
	{
	}
	virtual ~tDocoEvent()
	{}
};

class IDocoEventHandler
{
public:
	virtual eResult FireEvent(const tDocoEvent * pEvent, void * pContext) = 0;
};

class IDocoEventBroadcast : public IBaseInterface
{
public:
	virtual eResult AddEventReceiver(IDocoEventHandler * pHandler) = 0;
	virtual eResult RemoveEventReceiver(IDocoEventHandler * pHandler) = 0;
};


#endif